home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / source / music4c.sit / Music4C Folder / Sources Folder / orch.h < prev    next >
Text File  |  1990-08-07  |  4KB  |  114 lines

  1. /*
  2. * ⌐ Graeme Gerrard 1990
  3. * Faculty of Music, University of Melbourne
  4. * Parkville Victoria 3052 Australia.
  5. *
  6. * ARPANET: grae@murdu.ucs.unimelb.edu.au
  7. * telephone: (613) 344 4127, Fax: (613) 344 5346
  8. */
  9.  
  10. #define    leftChan    1.0
  11. #define    rightChan    0.0
  12.  
  13.  
  14. /* common variables required by all "orch" routines */
  15.  
  16. extern    double    tt;                /* time from start of run */
  17. extern    double    t;                /* time from start of section */
  18. extern    double    *p;        /* parameter array */
  19. extern    int        npargs;            /* number of parameter arguments */
  20. extern    int        instype;            /* current instrument type */
  21. extern    int        insno;            /* instrument index number for this type */
  22. extern    int        nchnls;            /* max number of output channels */
  23. extern    int        on[MAXINSTRS+1];    /* indicates if instrument is to play */
  24. extern    double    *out;    /* storage for samples */
  25. extern    int        loc;                /* pointer to out array for basic channel */
  26. extern    double    srate;            /* sample rate */
  27. extern    double    *F[MAXFUNCS];        /* function storage */
  28.  
  29.  
  30. double add8vepc(double, double);
  31. void en3set( double, double, double, double * );
  32. double envel3(double, int, double *);
  33. double envel3I(double, int, double *);
  34. void adsrset( double, double, double, double, double * );
  35. double adsr(double, int, double *);
  36. void blnset( double, double, double * );
  37. void cmbset( double, double, double * );
  38. void slpset(double *, double *, double);
  39. double slope(double *, double *);
  40. void toneset( double, double, double * );
  41. double tone(double, double *);
  42. void evpset(double, double, double, double, int, int, double *);
  43. double envlp(double, int, int, double *);
  44. void expset(double *, double *, double);
  45. double expon(double *, double *);
  46. double formnt(double, double, int, int, int, int, double *);
  47. void hf2set(double, double, double *);
  48. double hpf2(double, double *);
  49. void linset(double, double, double, double *);
  50. double linens(double, double *);
  51. double nonlin(double, double, int);
  52. double oscil(double, double, int, double *);
  53. double oscil1(double, double, int, double *);
  54. double osci1(double, double, int, double *);
  55. double oscili(double, double, int, double *);
  56. void rsnset(double, double, double, double, double *);
  57. double reson(double, double *);
  58. void vrsset( double, double, double * );
  59. double vreson(double, double, double, double, int, double *);
  60. void mono(double);
  61. void output(double, double, double, double);
  62. void stereo(double, double);
  63. double ilookup(double, int);
  64. double vfmult(double, double, int);
  65. double cpsoct(double);
  66. double cpspch(double);
  67. double cycle(double);
  68. double octave(double);
  69. double octcps(double);
  70. double octpch(double);
  71. double pchcps(double);
  72. double pchoct(double);
  73. double period(double);
  74. double pitch(double);
  75. double sicps(double);
  76. double random(double *);
  77. double drand(double, double *);
  78. double randh(double, double, double *);
  79. double    randf(double, double, double *);
  80. double randfi(double, double, double *);
  81. double randfc(double, double, double *, double *, double *);
  82. double randfh(double, double, double *);
  83. double randi(double, double, double *);
  84. double alpass(double, double, double *);
  85. double balnce(double, double, double *);
  86. void coscurv(double *, double *);
  87. double comb(double, double, double *);
  88. double buzz(double, double, double, int, double *);
  89. void rvbset(double, double *);
  90. double reverb(double, double, double * );
  91. void rvb2set(double, double, double *, double * );
  92. double reverb2(double, double *);
  93. double alpass2(double, double *);
  94. double comb2(double, double *);
  95. double zdelay(double, double, int, double *, double *);
  96. double sdelay(double, int, double *, double *);
  97.  
  98.  
  99. read_set(char *, float *, int, double *, int *);
  100. double    readsfi(int, double, float *, int, double *);
  101. Boolean SF_FLOAT_ReadSet(double *, int, double *, ParmBlkPtr, double *, long *, long *);
  102. double    SF_FLOAT_Read(ParmBlkPtr, double, double *, int, double *, double *, long *, long *);
  103. Boolean SF_SD_1_ReadSet(double *, int, double *, ParmBlkPtr, double *, long *, long *);
  104. double    SF_SD_1_Read(ParmBlkPtr, double, double *, int, double *, double *, long *, long *);
  105. Boolean SF_SD_2_ReadSet(double *, int, double *, ParmBlkPtr, double *, long *, long *);
  106. double    SF_SD_2_Read(ParmBlkPtr, double, double *, int, double *, double *, long *, long *);
  107.  
  108. /*-------------------------------------------------------------------------------*/
  109. void initl(void);
  110. void setup(void);
  111. void orch(void);
  112. void ter(void);
  113. void final(void);
  114.